Under the guidance of information theory, theoretical research of channel encoding develops rapidly. Various encoding techniques with excellent performance have been developed, including block code, convolutional code, concatenated code, etc. For example, Turbo code is a concatenated code, and low-density parity-check (LDPC) code and polar code belong to block codes. Turbo code and LDPC code have been adopted in third-generation mobile communication technology (3G) and fourth-generation mobile communication technology (4G) standards. As a novel near-channel-capacity encoding technique, polar code has recently received a broad attention and is researched intensely.
In general, an encoder encodes an input bit (usually referred to as an information bit) with a bit length of K to produce an output bit (usually referred to as a codeword bit) with a bit length of N. An encoder of the Turbo code is relatively flexible, where a single mother code is adopted, and a variety of information bit lengths K are supported. The LDPC code supports a variety of information bit lengths K by means of structured expansion. A typical codeword length of the polar code is generally 2{circumflex over ( )}n, where n is an integer. The polar code, which is based on a basic code rate R (single mother code), cannot support flexible bit length selection for information bit length K and codeword bit length N.
In a Turbo encoding processing procedure of a long term evolution (LTE) system, once a length of a transport block (TB) exceeds a maximum input bit length of a Turbo encoder (i.e., a maximum interleaver size of 6144 bits of the Turbo code), this relatively long TB block needs to be divided into multiple shorter code blocks, so that a length of each code block, after a code block cyclic redundancy check (CRC) is added and a bit is filled, can satisfy an allowable input bit length (corresponding to 188 kinds of QPP interleaver sizes) of the Turbo encoder, thereby completing an encoding processing of each code block. In a code block segmentation process, all padding bits are always added at a starting position of the first code block.
The above-mentioned method for segmenting a code block and filling a padding bit has the following problems: lengths of code blocks are obviously different from each other, and padding bits are concentrated in a same code block, thus the code blocks have different performances, which damages an error rate performance of a TB block. Therefore, the method is not suitable for polar encoding processing and needs to be further improved.